package com.dys.teststatic;

/**
 * @className: com.dys.teststatic.Demo
 * @description: com.dys.teststatic
 * @author: pine cone
 * @version: v1.0.0
 * @createTime: 2024/07/15 下午9:12
 */
public class Demo {
    int id;
    static int sid;

    public void a() {
        System.out.println(id);
        System.out.println(sid); // 可以访问,因为静态属性先于对象存在
        System.out.println("--------a()方法");
    }

    // 1.static 和 public都是访问修饰符,并列,没有先后顺序
    static public void b() {
        // System.out.println(this.id); 4.静态方法中不能使用this.关键字
        // a(); 3.静态方法中不能访问非静态方法
        // System.out.println(id); 2.静态方法中不能访问非静态属性
        System.out.println(sid);
        System.out.println("---------b()静态方法");
    }

    /**
     * 这是一个main()方法,是应用程序的入口
     *
     * @param args 方法的形参列表,是一个字符串数组,包含了从命令行传递给程序的参数
     */
    public static void main(String[] args) {
        Demo demo = new Demo();
        demo.a();// 非静态方法可以使用对象名.方法名去调用
        // 静态方法,可以使用 类名.方法名 去调用 也可以使用对象名.方法名去调用
        demo.b();
        Demo.b();
        // 在同一个类中，可以直接调用
        b();
    }
}
